Nov 4, 2022 - Feb 10, 2023
It's a data-focused project. I delve into the details with developers, discussing scenarios, edge cases, handling technical constraints, data conflicts, error states, and on-the-fly UX problems. However, it's crucial to keep the high-level UX in mind to ensure clarity, scalability of data, and error prevention. My goal was to develop a long-term solution that could be implemented within a 6-week cycle.
Task
Identify ongoing integration challenges, analysis client requirements & company objectives to determine the top-priority integration (HR), stay in sync with developers regarding edge cases and data scenarios, envision the north star concept, break it down into shippable pieces using RICE prioritization.
Stages
Research
Design
Build
Methods
RICE Slicing
Prototype
MVP
Tools
Notion
Dovetail
Figma
Airtable
🚨Current integration doesn't resolve duplicates. Users face significant risk when trying integrations on live accounts, like manually deleting unwanted records, which increases customer support costs
🚨Data gaps persist even when imports are done correctly; people with missing roles can't be planned, and those without contracts don't provide accurate financial reports on the dashboard, lose value in Runn
🚨Setting up without guidance leads to a confusing user experience
Information is scattered across websites and apps, with unclear goals and sync data expectations
The app doesn't provide feedback on where the data is
App is blocked when importing data
🚨The "quantity over quality" approach results in shallow integrations; many necessary data points aren't pulled into Runn, leading to manual input
Different apps within the same category have varying data pull and push capabilities, with only 50% supporting time-off data, a potential time-saver
🚨We must accommodate certain restrictions, like fixed sync schedules and no delete detection
🚨Lead opportunities from search criteria like "Jira integration" However, the more integrations we add, the more potential issues arise, increasing customer support inquiries
Clients want integrations and incorporating Runn into their ecosystems to add value for us and unblock 1000+ employee accounts. So we planned to expand into HR and project management, connecting with 100+ vendors.
Integrating HR is a quick win, allowing us to sync people, contracts, and timesheets effortlessly. This data is essential for determining resource availability and project costs in Runn. With integration, we streamline the capacity planning process, which also helps HR take timely action if resource overallocation is identified.
Integration is all about handling data. The happy path is a breeze, but we need to put more thought into scenarios and edge cases.
‣ First time import vs Ongoing sync
‣ CRUD local vs remote data
‣ Idea vs Technical compromises
‣ Existing account vs new account
‣ Data gaps from Runn (ie. partial time off)
‣ Data gaps from 3rd Party (ie. hourly rates)
I've divvied up cases between first time and ongoing, and thought over scenarios, edge cases, conflicts, and error states that users might run into along the way. For instance, what if an employee gets the boot in one app but not the other, or if a synced contract ends up having its rate updated, etc. I've scratched down a few solution ideas and wireframes to as conversation starter with devs and prioritize the best experience for the primary use case.
As I've dug into this exercise, I've also noticed solutions beginning to converge, addressing and solving various issues with a single stroke - a sign they might be the right solution.
When getting into the weeds of solving lots of technical issues, we sometimes should take a step back to think about the UX for the whole journey and consider aspects like data at scale, clarity, process time, and error prevention. I influence my team to think about 3 main questions:
- How do users know the way data syncs between the two apps?
We need to improve the setup and make rules easier to understand before they commit to integration.
- How do user achieve more data completion without being overwhelmed by questions?
One constraint of using third-party integration is that we don't have full control over the data. For example, when converting salary to hourly rate, we can ask for work hours and use examples to clarify how they should be filled to close the data gaps between the two apps.
- How do we help users avoid wrong data or duplicates getting into the app?
We can introduce checkpoints to visualize the matches of people found between the two apps, allowing users to confirm, relink, or create new entries. Additionally, we can review the import step to fill in more details, framing it as unlocking more value in Runn. This should be done before users are fully committed, rather than being an afterthought.
Manually resolve duplicates
The biggest pain we're dealing with is duplicates. Right now, we have to manually transfer employee IDs from the remote app to the person we create in Run, one at a time. There's no bulk update or auto-suggestion, so if someone misses a step, it brings in all the duplicates.
Link up auto-matches
There's a lot of repetitive work involved in the current approach, and I think it's crucial to push for auto-matching. Surprisingly, it's not too difficult to implement technically - we just need to link the emails. This approach isn't completely foolproof, which is why we have flexibility in the new UI to review and make changes. By using the matching algorithm and UI to support this manual task, we'll save users a ton of time.
Confusing ‘Setup’ page
Hard to figure out where to start on the current page, and the sync rule isn't standing out enough to grab people's attention. As a result, users often overlook it and end up flooding our support when they encounter issues.
Clarify the sync rules and kick off the stepper
The main enhancement of the new design is to bring up the sync rule right off the bat, ensuring users fully grasp it – making it concise and clear. This will help kickstart the rest of the input requirements in a step-by-step manner.
Catching data slip-ups seems to be an afterthought
Run fully automates the creation process for people and projects via integrations, but this may risk data integrity. Incomplete data gets lost in the app, and it takes quite an effort to track down and update it.
Review data before bringing them in
It could be easier if we just allow a manual triage process in place to fill out the missing data
The review imports idea is an interim checkpoint to ensure data are reviewed and ready to go before gettin into the Runn
If businesses get the most out of Runn, then Runn has better value for them. The same approach an benefit out CSV imports as well.
Empty state
A more exciting “App store”
For the standard empty page state, we have designed a more exciting app browser that enhances both the features and usability
"This is really good from architecture points of view" - CTO
To Make sure the HR integration design fits seamlessly into workflows like project mange and timesheets integraiton. From a bird's-eye view, three distinct workflows face similar data challenges to tackle, shown by the color blocks. Benefit the development from architect perspective for building modular experiences that'll work for other workflows later on,
The challenge is to determine the highest-value first move we can roll out in 6 weeks, with a budget of $25k per cycle for two engineers and a product person – a small investment compared to building the full pitch. Wearing a PM hat, my role is to get the design and scope sorted in a 5-week period before development started. Using the RICE framework, we divide the big ideas into meaningful chunks and prioritize their value against each other. This also involves getting lead engineers to estimate effort, which is a crucial indicator.
Once we have a handle on the ideal components, I focus on mixing in high-value bits from different fully-fledged components. For example, we take 80% from the ideal sync rule and data integrity experience, 50% from the app store idea and integration panel, 20% from data gap, and 10% from email matching, which doesn't even have a UI at this stage but solves most of the pressing problems. We wrap these minimal experience boosts around the core technical outcome, which includes connecting to Merge.com, pulling people data, and retrieving their time off – these are key enablers for resource planning in Runn.
This approach creates an outcome that is quite distinct from the MVP from a purely technical perspective (as we can see in the current build of timesheet integration). We have a roadmap outlining future slices and we work together with the leadership for approval.
‣ FAQ
‣ Go go market plan
‣ Beta test rollout
‣ Testing
‣ Webpage update